package com.ruoyi.coffee.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
/**
 * @author dxj
 * @Description 优惠券Vo
 * @date 2025/1/9 11:11
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(description = "优惠券Vo")
public class CouponVo {
    /**
     * 优惠券唯一标识符
     */
    @ApiModelProperty("优惠券id")
    private Long couponId;

    /**
     * 优惠券名称
     */
    @ApiModelProperty("优惠券名称")
    private String couponName;

    /**
     * 折扣类型（percentage: 打折, amount: 满减）
     */
    @ApiModelProperty("折扣类型")
    private String discountType;

    /**
     * 折扣值（如果是打折，则表示折扣百分比；如果是满减，则表示满减金额）
     */
    @ApiModelProperty("折扣值")
    private BigDecimal discountValue;

    /**
     * 使用该优惠券所需的最低订单金额（仅当discount_type为amount时有效）
     */
    @ApiModelProperty("使用该优惠券所需的最低订单金额")
    private BigDecimal minimumOrderAmount;

    /**
     * 剩余可领取数量
     */
    @ApiModelProperty("剩余可领取数量")
    private Long remainingQuantity;

    /**
     * 是否适用于所有商品
     */
    @ApiModelProperty("是否适用于所有商品")
    private Integer validForAllProducts;

    /**
     * 过期日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("过期日期")
    private Date expirationDate;

}
